package StringTest;
/*
String中charAt方法: public char charAt(int index)
String中compareTo方法: public int compareTo(String anotherString)
String中contains方法: public boolean contains(CharSequence s)
String中endsWith方法: public boolean endsWith(String suffix)
String中equalsIgnoreCase方法: public boolean equalsIgnoreCase(String anotherString)
String中getBytes方法: public byte[] getBytes()
String中indexOf方法: public int indexOf(String str)
String中isEmpty方法: public boolean isEmpty()
String中replace方法: public String replace(CharSequence target,CharSequence replacement)
String中split方法: public String[] split(String regex)
String中substring方法: public String substring(int beginIndex)
String中trim方法: public String trim()
String唯一静态方法
String中valueOf()方法
 */
public class StringMethodTest1 {
    public static void main(String[] args){
        String s1 = "我是一个好人";
        //1.charAt方法;
        char c = s1.charAt(4);
        System.out.println(c);

        //2.compareTo方法，字符串之间比较大小不能直接使用> <,需要使用compareTo方法
        int result = "abc".compareTo("abc");
        System.out.println(result);  //0 前后一致
        System.out.println("abcd".compareTo("abce")); // -1 前小后大
        System.out.println("abce".compareTo("abcd")); // 1 前大后小
        //拿着字符串第一个字母和后面字符串第一个字母进行比较，能分胜负后面字符就不再比较
        System.out.println("xyz".compareTo("yzx")); // -1 前小后大

        //3.contains方法 判断前面的字符串是否包含后面的子字符串
        boolean b = "abcdsfsaf".contains("cdf"); //false
        boolean b1 = "123.java".contains("java"); //true
        System.out.println(b);
        System.out.println(b1);

        //4.endsWith方法 判断当前字符串是否以某个字符串结尾
        System.out.println("123.html".endsWith("html")); //true
        System.out.println("123.html".endsWith("java")); //false

        //5.equalsIgnoreCase方法 判断两个字符串是否相等，忽略大小写 而equals区分大小写
        System.out.println("abc".equalsIgnoreCase("ABC")); //true
        System.out.println("abc".equals("ABC")); //false

        //6.getBytes方法 将字符串对象转换成字节数组
        byte[] bytes = "abcd".getBytes();
        for(int i = 0; i < bytes.length; i++){
            System.out.println(bytes[i]);
        }

        //7.indexOf方法 判断某个子字符串在当前字符串中第一次出现处的索引(下标)
        System.out.println("abcdef".indexOf("d")); //3

        //8.isEmpty方法 判断某个字符串是否为空
        String s = new String("");
        System.out.println(s.isEmpty()); //true

        //9.replace方法 将子字符串替换成指定字符串
        System.out.println("hello world".replace("ello","i"));
        System.out.println("naksfnkwrei=ar=awaw=er=xw".replace("=",":")); //将=替换成:

        //10.split方法 以给定的字符串，对字符串进行拆分 *****
        String ymd = "2022-10-1";
        String[] strings = ymd.split("-");  //以"-"进行切割
        for(int j = 0; j < strings.length; j++){
            System.out.println(strings[j]);
        }
        String user = "name=zs&id=123456&psword=11111";
        String[] strings1 = user.split("&"); //以"&"进行切割
        for(int j = 0; j < strings.length; j++){
            System.out.println(strings1[j]);
        }

        //11.substring方法 截取字符串
        System.out.println("https://www.baidu.com".substring(8)); //www.baidu.com
        System.out.println("https://www.baidu.com".substring(8,11));  //www 8为起始位置 11为结束位置

        //12.trim方法 去除字符串前后空白
        System.out.println("  hello world  ".trim());

        //13.valueOf方法 将非字符串转换成字符串,当参数是一个对象时，会自动调用该对象的toString方法
        System.out.println(String.valueOf(123));
        System.out.println(String.valueOf(new Object()));
    }
}
